The invention is directed to monitoring the performance of a server and a network.
The server runs server software that includes one or more software modules, i.e., services. The server software is supported by operating system software that provides the server software with access to resources such as the server's computer hardware resources and the server's user interface resources. Typically, the operating status of an individual service may be determined by sending a query to the operating system. In response to the query, the operating system sends a reply that includes the operating status of the service. The reply indicates, among other things, whether the service is running. The query may be sent by a computer that gains access to the server across a computer data connection such as a network connection. To determine the status of multiple services at one server, the querying computer sends multiple queries and receives multiple replies. The queries and replies typically include at least one query and one reply per service.
The server software may be included in a messaging system that allows a user to direct a message from a source location, e.g., a messaging server, on the messaging system to a destination location, e.g., another messaging server, on the messaging system. Typically, each user of the messaging system is associated with a set of resources in the messaging system, i.e., has a messaging account. Each time the user initiates a messaging session for, e.g., reading and otherwise manipulating messages, the user is typically required to execute a "login" procedure. The login procedure provides the user with access to the user's messaging account after verifying that the user has permission to use the account. In the verification, the user is typically required to provide at least a proper password.
Each location in the messaging system typically makes use of a time indicator that is provided at the location, typically by the operating system. The time indicator is used by the location for purposes such as including a timestamp in an outgoing message, to indicate when the outgoing message was sent. Each location's time indicator operates independently of the time indicators of other locations and is adjusted independently as well.